"""
1.后端接口中，第一个接口返回的是字典信息，包含用户id、名称，第二个接口返回的是分数列表。
格式分别是：用户字典：{'1001':'zhangsan','1002':'lisi','1005':'tom', '1008':'jerry'}
分数列表[['1005',98],['1009':102],['1002', 85], ['1001':98],['1007': 120]]
请使用匿名函数，根据第一个字典中用户信息返回对应的分数，如果没有对应分数输出0。最后输出信息，输出格式举例：
"id为1001的用户zhangsan的分数是98"
"""
dictionary1={'1001':'zhangsan','1002':'lisi','1005':'tom','1008':'jerry'}
list1=[['1005', 98],['1009', 102],['1002', 85],['1001', 98],['1007', 120]]
dictlist1=dict(list1)
x_fn=lambda n,s:map(lambda x:(x,n[x],s[x]if x in s.keys() else 0),n.keys())

print('\n'.join(['id为%s的用户%s的分数是%i'%i for i in x_fn(dictionary1,dictlist1)]))
"""
2.输入一个英文句子,翻转句子中的单词顺序,但单词内字符的顺序不变 (注意标点符号的位置）
"""
import re
def reverse1(s:str):
    off=0
    nxt=re.search(r'[ ,.:;\'"]',s)
    lst=[]
    while(nxt!=None):
        lst.append(s[off:off+nxt.start()])
        off+=nxt.end()
        lst.append(s[off-1:off])
        nxt=re.search(r'[ ,.:;\'"]',s[off:])
    if(off == 0):return [s]
    lst.append(s[off:])
    return "".join(reversed(lst))

print(reverse1("Errors: name 'a' is not defined,'module' object is not callable."))
